package org.cliff.message.platform.management.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.util.List;

/**
 * 标记消息冲发送请求
 * @author 刘文
 * @date 2023/10/30
 */
@ApiModel("标记消息冲发送请求")
@Data
public class MarkMessageResendRequest {

    @ApiModelProperty(value = "需重传的消息列表", required = true)
    @NotEmpty
    private List<Long> messageIds;

    @ApiModelProperty(value = "延后重发送类型 rightNow:立即重发 tenMinutes:十分钟后重发 specified:用户指定时间重发", required = true)
    @NotNull
    private String delayType;

    /**
     * 立即重发
     */
    public static final String DELAY_TYPE_RIGHT_NOW = "rightNow";

    /**
     * 十分钟后重发
     */
    public static final String DELAY_TYPE_TEN_MINUTES = "tenMinutes";

    /**
     * 用户指定时间重发
     */
    public static final String DELAY_TYPE_SPECIFIED = "specified";

    @ApiModelProperty("用户指定延迟发送时间，单位分钟")
    private Integer specifiedDelayInMinutes;
}
